package com.bolehui.base.domain.dto;

import com.bolehui.base.domain.entity.AbstractBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.util.Date;

/**
 * @author chendongjie     email:chendongjie@gz.iscas.ac.cn
 * @version 1.0
 * @ClassName AbstractBaseDTO
 * @Description
 * @createTime 2024/12/12 10:36
 * Copyright (C) 2021-2022 CASEEDER, All Rights Reserved.
 * 注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的
 */
@Data
public class AbstractBaseDTO {

    /**
     * id
     */
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 获取实体名称（！！！注意！如无特殊情况，请不要重写该方法！！！）
     *
     * @see AbstractBaseDTO#getEntityClass()
     */
    @JsonIgnore
    public String getEntityClassName() {
        return getEntityClass().getName();
    }

    /**
     * 获取实体类
     */
    @JsonIgnore
    public Class<?> getEntityClass() {
        return AbstractBaseEntity.class;
    }
}
